package com.yyb.utils.neteaseim.api.impl;
import com.jiuqian.xdpx.aid.neteaseim.bean.entity.NeImAccid;
import com.jiuqian.xdpx.aid.neteaseim.bean.reseponse.NeImBaseResponse;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

import com.jiuqian.xdpx.aid.neteaseim.api.NeImAccidService;
import com.jiuqian.xdpx.aid.neteaseim.bean.reseponse.NeImAccidResponse;

@Service
public class NeImAccidServiceImpl extends NeImBaseServiceImpl implements NeImAccidService {

	@Override
	public NeImBaseResponse createAccid(NeImAccid user) {
		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
		params.add("accid", user.getAccid());
//		params.add("name", user.getName());
		// 可以自己指定token，如果不指定，则由网易云服务器自动创建并返回
		if (user.getToken() != null) {
			params.add("token", user.getToken());
		}
		NeImBaseResponse bean = super.build(params, CREATE_ACCID_URL, NeImBaseResponse.class);
		return bean;
	}
	
	@Override
	public NeImBaseResponse updateAccid(NeImAccid user) {
		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
		// 新的accid
		params.add("accid", user.getAccid());
		// 网易云通信ID可以指定登录token值，最大长度128字符
		if (user.getToken() != null) {
			params.add("token", user.getToken());
		}

		NeImBaseResponse bean = super.build(params,UPDATE_ACCID_URL, NeImBaseResponse.class);
		// 因为请求UPDATE_ACCID_URL只返回code
		bean.setInfo(new NeImAccidResponse(user.getToken()));
		return bean;
	}
	
	
	@Override
	public NeImBaseResponse refreshToken(NeImAccid user) {
		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
		// 要更新的 accid
		params.add("accid", user.getAccid());
		NeImBaseResponse bean = super.build(params,UPDATE_ACCID_URL, NeImBaseResponse.class);
		return bean;
	}


}
